
import moment from 'moment';

/**
 * @param {Date} time
 * @returns {string}
 */
function instantText (time) {
  if (time == null) return null;

  let now = moment();
  let t = moment(time);

  // t 在 now 后面，一般来说不可能
  if (t.isAfter(now)) {
    return '未来: ' + t.format('YYYY-MM-DD HH:mm');
  }

  // 不到一分钟
  let judge = now.clone().subtract(1, 'minute');
  if (judge.isBefore(t)) {
    return '不到 1 分钟前';
  }

  // 不到一小时
  judge = now.clone().subtract(1, 'hour');
  if (judge.isBefore(t)) {
    return `${now.diff(t, 'minute')} 分钟前`;
  }

  // 不到一天
  judge = now.clone().subtract(1, 'day');
  if (judge.isBefore(t)) {
    let duration = now.diff(t, 'minute');
    return `${parseInt(duration / 60)} 小时 ${duration % 60} 分钟前`;
  }

  return t.format('YYYY-MM-DD HH:mm');
}

export default {instantText};
